package com.tencreat.domain.mall.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.tencreat.common.annotation.Excel;
import com.tencreat.common.core.domain.model.ReqPageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author tang jun liang
 * @version 1.0
 * @date 2021/9/6 14:27
 * 商城搜索
 */

@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "商城商品列表")
public class MallGoodsSearchDTO extends ReqPageParam implements Serializable {

    @ApiModelProperty(value = "一级分类id")
    private Long oneCategoryId;

    @ApiModelProperty(value = "分类：0 美食;1 医疗")
    private String storeType;

    @ApiModelProperty(value = "商品类型： 0 店铺商品|1 商城商品")
    private String orderType;

    @ApiModelProperty(value = "二级分类id")
    private Long twoCategoryId;


    @ApiModelProperty(value = "搜索关键词")
    private String keyWord;

    @ApiModelProperty(value = "搜索类型 default:智能默认,lowPrice:低价,highPrice: 高价,sales:销量,store :店铺商品,supplier:商城商品,star：评分")
    private String searchType;

    @ApiModelProperty(value = "分类集合")
    private List<Long> categoryIds;


    @ApiModelProperty(value = "推荐商品")
    private Boolean isHot;

    @ApiModelProperty(value= "是否是品牌")
    private Boolean brand;

    @ApiModelProperty(value= "是否是爆款")
    private Boolean burst;

    @ApiModelProperty(value = "商品分类 0 店铺 1 商城")
    private String goodsType;

    @ApiModelProperty(value = "店铺id")
    private Long storeId;

    @ApiModelProperty(value = "距离")
    private BigDecimal distance;

    @ApiModelProperty(value = "店铺套餐id")
    private Long setmealNameId;


    @Excel(name = "经度")
    @ApiModelProperty(value= "经度")
    private String longitude;

    @Excel(name = "维度")
    @ApiModelProperty(value= "维度")
    private String dimensionality;

    @Excel(name = "id")
    @ApiModelProperty(value= "市id")
    private Long city;

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public String getSearchType() {
        return searchType;
    }

    public void setSearchType(String searchType) {
        this.searchType = searchType;
    }

    public Boolean getHot() {
        return isHot;
    }

    public void setHot(Boolean hot) {
        isHot = hot;
    }
}
